package com.java.yz.day11.ketang;

/*
    可变参数概述
        定义方法的时候不知道该定义多少个参数
    格式
        修饰符 返回值类型 方法名(数据类型…  变量名){}
    注意：
        这里的变量其实是一个数组
        如果一个方法有可变参数，并且有多个参数，那么，可变参数肯定是最后一个
        Arrays工具类中的一个方法
            public static <T> List<T> asList(T... a)
 */
public class KeBianDemo {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        int c = 10;
        int d = 10;
        //会发现当我们写一个方法多次重复时，会十分的冗余，这是就有一个方法  --可变参数
        sum(a,b);
        sum(a,b,c);
        sum(a,b,c,d);
        sum1(a,b,c,d);
        getSum("小孩",90,99,98);
    }

    //这样一个方法就可以省去下面的三个方法
    //注意：如果一个方法有可变参数，并且有多个参数，那么，可变参数肯定是最后一个
    public static void sum1(int... arr){
        int sum=0;
        for (int i : arr) {
            sum+=i;
        }
        System.out.println(sum);
    }
    public static void getSum(String s,int... arr){
        int sum=0;
        for (int i : arr) {
            sum+=i;
        }
        System.out.println(s+"总分为："+sum);
    }

    //方法的重载
    public static void sum(int a,int b){
        System.out.println(a+b);
    }
    public static void sum(int a,int b,int c){
        System.out.println(a+b+c);
    }
    public static void sum(int a,int b,int c,int d){
        System.out.println(a+b+c+d);
    }
}
